#ifndef __THERMOCOUPLE_H
#define __THERMOCOUPLE_H

#include "stm32f10x.h"

// K型热电偶系数表（用于多项式拟合）
// 温度范围：-200°C 到 1372°C
// 电压范围：-5.891mV 到 54.886mV

// 热电偶电压到温度转换系数（多项式拟合）
#define K_TYPE_COEFF_COUNT 9

// 温度到电压转换系数（多项式拟合）
#define K_TYPE_TEMP_TO_VOLT_COEFF_COUNT 10

// 滤波参数
#define FILTER_SAMPLES 10        // 滤波采样次数
#define FILTER_ALPHA 0.1f        // 滤波系数（0-1，越小越平滑）

// 函数声明
float Thermocouple_VoltageToTemperature(float voltage_mv);
float Thermocouple_TemperatureToVoltage(float temperature_c);
float Thermocouple_GetTemperature(float adc_voltage, float cold_junction_temp);
void Thermocouple_Init(void);

// 滤波函数
float Thermocouple_FilterTemperature(float new_temp);
float Thermocouple_FilterVoltage(float new_voltage);
void Thermocouple_ResetFilter(void);

#endif
